Media player with non-volatile memory

ABSTRACT

A media player is provided that includes a processor configured to execute a media player program, a non-volatile memory electrically coupled with the processor, the non-volatile memory being vertically configured, an input/output module electrically coupled with the processor and the non-volatile memory and configured to communicate with an input/output device, and an analog/digital module electrically coupled with the processor and the non-volatile memory, the analog/digital module configured to output a media signal. The input/output module may be in electrical communication with the input/output device and/or signal communication with the input/output device.

CROSS-REFERENCES TO RELATED APPLICATIONS

This application is related to U.S. patent application Ser. No.11/095,026, filed on Mar. 30, 2005, U.S. Published Application No.2006/0171200, entitled “Memory using Mixed Valence Conductive Oxides”and to U.S. patent application Ser. No. 11/897,909, filed on Aug. 30,2007, U.S. Published Application No. 2009/0063757, entitled “MemoryEmulation in an Electronic Organizer.”

FIELD OF THE INVENTION

The present invention relates to media players and specifically tomemory.

BACKGROUND

Media player is an electronic device capable of storing and playingmedia files (i.e., files that include data that may be rendered,presented, viewed, propagated, or otherwise used to present content invarious types of media formats) in one or more formats. Media formatsinclude audio, video, haptic, digital, graphic, or other types of mediafiles (“files”). Audio media formats can include MP3, Windows MediaAudio (WMA), Advanced Audio Codec (AAC), Waveform (WAV), Free LosslessAudio Codec (FLAC), Ogg Vorbis, or Speex. Video media formats caninclude MPEG, AVI, DivX, or XviD. Likewise, digital image media formatscan include BMP, JPEG, or GIF. In some conventional media players,storage capacity may be extended by using memory cards, such as a SmartFlash, Compact flash, or a memory stick, such as those developed by SonyCorporation®, SanDisk®, and others. In other conventional solutions, ahard disk-based digital audio player may be used, which stores mediafiles in an internal hard disk drive, such as the iPod® Shuffledeveloped by Apple Computer of Cupertino, Calif.

Some conventional media players use read only memory (ROM), programmableread only memory (PROM), flash memory, and random access memory (RAM).ROM, PROM, or flash memory may be used to store a portion of firmware,including instructions for booting the media player. RAM may be used bya processor or other components of a media player to store programinstructions or transient data during operation. However, conventionalmedia players require a long boot process to load an operating system(OS) and to initialize various system devices. Further, if the mediaplayer unexpectedly loses power, any unsaved information will be lost.Dynamic random access memory (DRAM) is the most commonly used memorytechnology in media players due to its density and speed. However, DRAMrequires frequent refresh cycles that may reduce performance. Flashmemories are much slower than RAMs, and may be used for storing mediafile data to be loaded into system memory implemented by RAM. Flashmemories require a flash file system for read/write capabilities. Theflash file system may be included in the OS, which may lengthen the bootprocess even further. Each of the above-described memories has differentcapabilities and requirements. However, conventional memories also haveunique architectural schemas and require a unique semiconductorfabrication process. Subsequently, each type of the above-describedmemories is usually enclosed in an individual package. Having severaldifferent memories therefore requires additional size and powerconsumption and results in different types of media players. Continuingefforts are being made to improve memory interfaces.

BRIEF DESCRIPTION OF THE DRAWINGS

The present invention will be readily understood by the followingdetailed description in conjunction with the accompanying drawings, andlike reference numerals designate like structural elements. Although theDrawings depict various examples of the invention, the invention is notlimited by the depicted examples. Furthermore, the depictions are notnecessarily to scale.

FIG. 1 illustrates an exemplary media player system;

FIG. 2 illustrates an exemplary vertical plane configuration for usewith a media player integrated circuit;

FIG. 3 illustrates an alternative exemplary media player system; and

FIG. 4 illustrates a vertical plane configuration of an alternativeexemplary media player integrated circuit.

DETAILED DESCRIPTION

Embodiments of the invention may be implemented in numerous ways,including as a system, a process, an apparatus, or as computer programinstructions included on a computer readable medium such as a computerreadable storage medium or a computer network wherein programinstructions are sent over optical or electronic communication links.

A detailed description of one or more examples is provided below alongwith accompanying figures. The detailed description is provided inconnection with such examples, but is not limited to any particularembodiment. The scope is limited only by the claims and numerousalternatives, modifications, and equivalents are encompassed. Numerousspecific details are set forth in the following description in order toprovide a thorough understanding. These details are provided for thepurpose of example and the described embodiments may be implementedaccording to the claims without some or all of these specific details.For the purpose of clarity, technical material that is known in thetechnical fields related to the embodiments has not been described indetail to avoid unnecessarily obscuring the description.

Media players may be used with non-volatile memory technologies such asthose disclosed in U.S. patent application Ser. No. 11/095,026, filedMar. 30, 2005, U.S. Published Application No. 2006/0171200, and titled“Memory Using Mixed Valence Conductive Oxides,” hereby incorporated byreference in its entirety and for all purposes, describes two terminalmemory cells that can be arranged in a cross point array and configuredvertically. These memory elements are inherently non-volatile in thatthey retain their contents without continuous power such as a batterybackup. They do not require a refresh as a DRAM requires, and do notrequire an erase or an operating system (OS) like flash memory. They aretherefore suitable for several different uses: they have sufficientperformance to replace DRAM, while being non-volatile, allowing them toreplace flash memory and ROM. In some examples, the above-describedmemory implementation may be used to replace or emulate other memory orstorage technologies. Memory emulation techniques may be used, such asthose described in U.S. patent application Ser. No. 11/897,909, filed onAug. 30, 2007, U.S. Published Application No. 2009/0063757, entitled“Memory Emulation in an Electronic Organizer”, which is incorporated byreference herein for all purposes. A unified non-volatile memory array(i.e., “memory” or “memory array”) using the above-described memorytechniques may be used in a media player design.

FIG. 1 illustrates an exemplary media player system. In some examples,an exemplary media player includes logic circuit component 100,microphone 101, speaker 102, boot ROM 103, headphone 104, analog/digital(AD/DA) converter 105, processor 106, server connections 117 and 118,keyboard 119, display 120, memory device 121, and storage devices122-123. Here, logic circuit component 100 further includesanalog/digital (AD/DA) interface 107, processor interface 108, controlbus 109, infrared (iRDA) controller 110, USB/1394 controller 111, touchscreen or keyboard controller 112, LCD controller 113, and controllers114-116 (e.g., memory controller 114, storage controller 115, andstorage controller 116). Within logic circuit component 100, AD/DAinterface 107 connects to AD/DA converter 105, which may be coupled to amedia device (e.g., media player, MP3 player, iPod®, and others). Insome examples, input/output modules 110-113 may include infraredcontroller 110 and USB/1394 controller 111 for downloading media filesusing external server connections 117 and 118. Touch screen or keyboardcontroller 112 may be used to control (e.g., receive, send, route,manage, or otherwise handle) signals from keyboard 119 and LCD 120. LCDcontroller 113 may also be configured to control LCD 120. In someexamples, LCD 120 may display a media play list (not shown) and otheruser interface information or actions, such as play, stop, forward,rewind, shuffle, and the like.

In some examples, controllers 114-116 may include memory controller 114,which may be configured to control program memory 121. Likewise, controlprogram memory 121 may be configured to store a media player program.When executed, the media player program may play a song, show a video,display an image, and the like. Controllers 114-116 may also includestorage controller 115 for controlling media file storage device 122.Here, media file storage device 122 may store one or more media files(e.g., songs, videos, images, and the like). Controllers 114-116 mayalso include storage controller 116, which may be configured to controlstorage expansion device 123. As an example, media file storage capacitymay be increased by using the storage expansion device 123. The storageexpansion device 123 may also be used to provide different folders(e.g., containers or objects used to organize or store media files) ofmedia files (e.g. music files, video files, haptic files, or other typesof media files). In other examples, storage expansion device may be usedto differently and is not limited to the description provided above.

In some examples, the types, number, and configuration of components maybe varied. For example, AD/DA converter 105 may be part of an externalmedia device (not shown) that also includes microphone 101, speaker 102,and headphone 104. In other examples, more, fewer, or different elementsmay be included as part of an external media device. Here, processor 106may be a RISC, DSP, or other types of computer, micro controller, orprocessor architecture. Storage expansion device 123 may be implementedusing a flash memory plug-in card (e.g., Compact Flash®, Smart Flash,Memory Stick®, SD®, or others), external hard disk plug-in module, orthe like. In other examples, components may be varied, supplemented, orreplaced. For example, infrared controller 110 may be replaced by awireless controller for receiving a media file downloaded using wirelessdata communication (e.g. WI-FI, or the like) through the external serverconnection 117.

Here, boot ROM 103, program memory 121 or media file storage device 122may be implemented using a memory or memory array such as theabove-described non-volatile memory. While boot ROM 103 may beimplemented using flash memory, ROM, PROM, or other types of ROM andprogram memory 121 may be implemented using DRAM, synchronous DRAM(SDRAM), static RAM (SRAM), or the like, a two-terminal,vertically-configured memory array may be implemented to emulate one orboth of boot ROM 103 and program memory 121 to reduce volatility (i.e.,power) and size requirements, thus enabling smaller media players withlarger media file storage capacity that are configured to render,display, play, or otherwise present media files without the delays ofconventional techniques. Media file storage device 122 may also beimplemented using flash memory, hard disk drives, or other types ofmemory or storage devices, but may also be emulated using a memory ormemory such as the above-referenced implementations from UnitySemiconductor of Sunnyvale, Calif. In other examples, media file storagedevice 122 may be implemented using flash memory, supplemented by one ormore additional hard disk storage devices (i.e., drives) in order toexpand storage capacity. In some examples, boot ROM 103 may include aNOR-type flash memory and media file storage device 122 or storageexpansion device 123 may include a NAND-type flash memory. In otherexamples, boot ROM 103, media file storage device 122, and storageexpansion device 123 may be implemented differently and is not limitedto the above-described embodiments.

In some examples, processor 106 may be used to manage media file datastructures, interface handshakes and controller setups and executeencoding and decoding algorithms. For example, processor 106 may loadoperating code from boot ROM 103 during an initial boot sequence afterpower has been applied. Operating code may be loaded into program memory121. Processor 106 may execute a media player program from programmemory 121 using a memory controller, which may be implemented using oneor more of controllers 114-116. Likewise, one or more of controllers114-116 may be used to implement LCD controller 113. As another example,controller 114 may be implemented as a two-port memory controller andused to interface with processor 106 and LCD controller 113. In someexamples, LCD controller 113 may be implemented as a master and used torefresh an image on LCD 120 by pulling image data stored in programmemory 121 over control bus 109 by using a direct memory access (DMA)operation.

In yet other examples, memory controller 114 may be implemented as atwo-port controller and may be used to interface to processor 106 and toAD/DA interface 107. AD/DA interface 107 may act as a master to send amedia data stream to AD/DA converter 105 from a data buffer configuredin program memory 121 over control bus 109 by using a DMA operation. Thedata buffer configured in program memory 121 may be used to ensure anuninterrupted media data stream originating from a media file stored inmedia file storage device 122. In other examples, the controller 114 maybe multi-ported to allow simultaneous control of an LCD port, an AD/DA,and a processor.

Components within logic circuit component 100 (e.g., AD/DA interface107, processor interface 108, and others) may be implemented as a fieldprogrammable gate array (FPGA) or application specific integratedcircuit (ASIC) with memory and analog devices added as attachments. Forexample, some, part, or all of logic circuit component 100 may beimplemented in an FPGA. In other examples, an ASIC or other customintegrated circuit may be used to implement logic circuit component 100.In some examples, boot ROM 103, program memory 121 or media file storagedevice 122 may be implemented using the above-described non-volatilememory for inclusion in an ASIC or other custom designed and/orintegrated circuit. Controllers 114-116 and other related circuitriesmay also be adapted accordingly for controlling the above-describednon-volatile memory. In other examples, the above-described system maybe implemented using more, fewer, or different elements, in addition tousing a two-terminal, vertically configured memory array or memory toreplace conventional memories, as discussed above.

FIG. 2 illustrates an exemplary memory array for use with a media playerintegrated circuit. Here, integrated circuit 200 includes semiconductorcircuit 201, memory layers 202-204. In some examples, more or fewerlayers may be implemented and integrated circuit is not limited to thenumber or types of layers shown. For example, semiconductor circuit 201may be a custom integrated circuit, ASIC, FPGA, or other type ofintegrated circuit and may be implemented using a silicon substrate orother types of semiconductor substrate materials. In some examples,semiconductor circuit 201 may include some, part, or all of logiccircuit component 100 (FIG. 1). In some examples, integrated circuit 200may be implemented using a two-terminal, vertically-configured,non-volatile memory array that uses memory layers 202-204 to implementvarious types of memory or storage components. Memory layer 202 may beused to emulate a ROM or a NOR-type flash memory, which may be used forboot ROM 103 (FIG. 1). Memory layer 203 may be used to emulate SDRAM andto implement program memory 121 (FIG. 1). Memory layer 204 may be usedto emulate a NAND-type flash memory, which may also be used to implementmedia file storage device 122 (FIG. 1). Although three memory layers(i.e., memory layers 202-204) are shown and described, the quantity,order, design, and function of memory layers 202-204 may be varied andare not limited to the embodiments shown. For example, implementation ofadditional memory layers may be used to implement higher storagecapacity to enable greater amounts of media data (e.g., files) to bestored. In other examples, there may be fewer memory layers. Forexample, portions of boot ROM 103 (FIG. 1), program memory 121 (FIG. 1),or media file storage device 122 (FIG. 1) may be implemented usingmemory techniques, such as the two-terminal, vertically-configured,non-volatile memory and memory arrays described above. In otherexamples, semiconductor circuit 201 may be implemented differently usingmore, fewer, or different elements than those shown and described. Asanother example, the one or more of the memory layers 202-204 depictedin FIG. 2 can be portioned into one or more sub-planes such that memorytypes that serve different functions can be emulated in the same memorylayer. As a further example, memory layer 204 can be portioned so that afirst portion of memory layer 204 emulates boot ROM and a second portionemulates program memory. The logic circuit component 100 can befabricated in the semiconductor circuit 201 layer (e.g., in a silicon Siwafer) and the memory layers 202-204 can be fabricated on top of thesemiconductor circuit 201 layer. Interlayer connection structures thatare well understood in the microelectronics art (e.g., vias, damascenestructures, contacts, plugs, etc.) can be used to electrically couplethe memory layers 202-204 with circuitry in the semiconductor circuit201 layer.

FIG. 3 illustrates an alternative exemplary media player system. Here,logic circuit component 300, microphone 301, speaker 302, headphone 304,analog/digital (AD/DA) converter 305, processor 306, server connections317 and 318, keyboard 319, display 320, and memory array 350 are shown.Logic circuit component 300 further includes analog/digital (AD/DA)interface 307, processor interface 308, control bus 309, infrared (iRDA)controller 310, USB/1394 controller 311, touch screen and keyboardcontroller 312, LCD controller 313, and controllers 314-316. Withinlogic circuit component 300, AD/DA interface 307 connects to AD/DAconverter 305 of a media device (not shown). Infrared controller 310 andUSB/1394 controller 311 may be used to retrieve (i.e., download) mediafiles using external server connections 317 and 318. Touch screen andkeyboard controller 312 may be used to control keyboard 319 and LCD 320.LCD controller 313 may be used to control LCD 320. LCD 320 may beconfigured to display a media play list and other user interfaceinformation and actions, such as play, stop, forward, rewind, shuffle,and the like. Controllers 314-316 may include storage controller 316 forcontrolling storage expansion device 323. In some examples, storageexpansion device 323 may be implemented using a two-terminal,non-volatile, vertically-configured memory array, such as thosedescribed above. The storage capacity of media files may be increased byusing storage expansion device 323. Storage expansion device 323 mayalso be used to change or switch between different folders of mediafiles (e.g., music files, video files, haptic files, or other types ofmedia files). Controllers 314-316 may also implemented as memorycontrollers configured to control memory array 350.

In some examples, memory array 350 may be used to emulate variousdifferent memory or storage functionalities required in the mediaplayer. Here, “emulation” refers to using a portion of memory array 350to perform functions assigned to memory or storage devices. For example,memory array 350 may be implemented to provide program memory 321 (i.e.,emulating RAM), media file memory 322 (i.e., emulating flash memory),and boot ROM 303 (i.e., emulating ROM). Here, memory array 350 may beused to emulate one, some, or all (as shown and described here) of thesememory functions. By implementing memory array 350 by using theabove-described two-terminal, vertically-configured, non-volatile memorytechniques, power and size requirements may be reduced. Further, byusing a two-terminal, vertically-configured memory array that isconfigured to perform write operations without intervening eraseoperations, media player performance (e.g., retrieval, playing,download, and storage of media files) may be enhanced.

In other examples, media file memory 322 may be used to emulating a harddisk drive to achieve high storage capacity for media files. Programmemory 321, media file memory 322, and boot ROM 303 may be assigned aphysical portion of memory array 350. For example, if memory array 350has 128 megabytes (MB) of data storage capacity, then 96 MB may beallocated to RAM emulation, 30 MB may be allocated to flash memoryemulation, and 2 MB may be allocated to ROM emulation. In otherexamples, if memory array 350 totals 30 gigabytes (GB), 15 GB may beallocated to RAM emulation and 15 GB may be allocated to hard disk driveemulation. Alternatively, some, all, or none of program memory 321,media file memory 322, and boot ROM 303 may be dynamically allocatedwithin memory array 350. Allocation of program memory 321, media filememory 322, and boot ROM 303 may be determined by a program being run orby a media player based on the needs of a program being run. Programsthat may be run on processor 306 may include decoding and encodingapplications for audio files (e.g., mp3, .wav, .wmv, and others).Processor 306 may also be configured to execute code for managing DMAportions of memory controllers (i.e., controllers 314-316) and settingaddress pointers and transfer counts. In some examples, programs run onprocessor 306 may be used to manage IO capabilities of various ports.For example, a program may be used to managing a file system for anon-volatile memory (e.g., flash file system, and others). Usingtwo-terminal, non-volatile, vertically configured memory or memory arraysuch as those referenced above, may be used to perform write operationswithout erase operations performed between each write operation. Thus,complexity of applications may be reduced by eliminating the need toperform erase operations and erase management when managing anon-volatile memory array such as those referenced above.

In some examples, memory array 350 may be used to replace severalmemories. By using a single memory or memory array rather than severaldifferent types of memories, less space is required on a media playermotherboard (i.e., the size requirement may be reduced). Further, byhaving fewer leads to various integrated circuits (ICs) on a mediaplayer motherboard, less power is lost during signal transmission.Additionally, memory array 350 requires less power and board space thanother memory technologies (e.g., Flash, ROM, RAM, SDRAM, and others).

For example, program memory 321 may be used for RAM emulation. As aportion of memory array 350, when used to emulate RAM, program memory321 retains the current state of a program if a power loss occurs.Therefore, a user can turn a media player off (i.e., secure or removepower) while a media file is playing. When the user turns the mediaplayer on (i.e., restores power), program memory 321 emulating RAM hasretained its previous state and a media file being played may resumeplaying from the point at which the user turned the system off.

In other examples, media file memory 322 may be used for flash memoryemulation to store media files. Memory array 350 does not require aflash file system and no erase operation needs to be performed betweenwrite operations, which increases the speed of write operations and theperformance and convenience of playing and downloading media files.Media file memory 322 may be used for hard disk drive emulation given ahigh density of memory array 350. In yet other examples, media files maybe stored in a portion of program memory 321 (i.e., a portion of memoryarray 350 that is configured to provide program memory such as programmemory 321) used to emulate RAM. Storage may be performed withoutallocating memory for flash or hard disk emulation.

Here, the boot ROM 303 may be used for ROM emulation. The boot ROM maybe used to store program instructions to boot up an operating system andinitialize other system configurations and parameters. For example, theoperating system and a media player program may be stored in memoryarray 350 and processor 306 may load operating system into programmemory 321 to emulate RAM during an initial boot sequence after powerhas been applied. An operating system subsequently loads a media playerprogram into program memory 321, thus emulating RAM. In still otherexamples, an operating system or a media player program may be stored inprogram memory 321, also emulating RAM until a change occurs. Thus, alengthy boot process may be eliminated by avoiding the loading of anoperating system and a media player program when the media player isturned on. By eliminating lengthy boot processes, overall memorycapacity requirements may also be eliminated. Subsequently, program(i.e., application) memory requirements stored in ROM or Flash memoryarrays are also reduced or eliminated. In other words, use of atwo-terminal, non-volatile, vertically-configured memory or memory arrayeliminates the need to copy a file to SRAM or DRAM, thus improving fileaccess speeds and play.

FIG. 4 illustrates a vertical plane configuration of an alternativeexemplary media player integrated circuit. Here, an integrated circuit400 includes semiconductor circuit 401, memory layers 402-404, and anNth memory layer 405. In some examples, semiconductor circuit 401 may bea custom integrated circuit, ASIC, FPGA, or other type of integratedcircuit and may be implemented using a silicon substrate or other typesof semiconductor substrate materials. Here, semiconductor circuit 401may include some, none, or all of logic circuit component 300 (FIG. 3).In other examples, semiconductor circuit 401 may include AD/DA converter305 or processor 306 in addition to some, none, or all of logic circuitcomponent 300 (FIG. 3). In some examples, memory layers 402-405 may beimplemented using one or more memory arrays or one or more portions ofmemory array 350 (FIG. 3), each of which may be configured to emulateROM, RAM, flash memory, hard disk drive, or other memory or storagedevices. One or more of these several memory arrays may be atwo-terminal, vertically configured, non-volatile memory array, such asthose described above. Likewise, memory layers 402-405 may beimplemented using a two-terminal, vertically-configured, non-volatilememory array, such as those described above. For example, one or morephysical portions of a memory may be assigned to perform various memoryor storage functions required by a media player. In still otherexamples, one or more portions of a memory may be dynamically allocatedto perform various memory or storage functions of a media player.Allocation of memory may be determined by a program being run or by amedia player based on the current needs of a program. In yet otherexamples, an operating system, other system configurations, media playerprogram, media files, and other information or program instructions maybe stored in a memory (e.g., memory array 350 (FIG. 3)) until changed,thus eliminating the need for a boot program, boot sequence, media filedata buffer, and other data buffering/caching/transferring requirements.Although FIG. 4 includes a plurality of memory layers, in some examples,one memory layer of a memory or memory array may be used. In otherexamples, the various memory layers shown in integrated circuit 400 maybe varied in design, operation, and implementation and are not limitedto the examples shown and described.

Although the foregoing embodiments have been described in detail forpurposes of clarity of understanding, certain changes and modificationsmay be practiced within the scope of the appended claims. Accordingly,the present embodiments are to be considered as illustrative and notrestrictive, and not limited to the details given herein and may bemodified within the scope and equivalents of the appended claims. In theclaims, elements and/or steps do not imply any particular order ofoperation, unless explicitly stated in the claims.

1. A media player, comprising: a processor configured to execute programinstructions including instructions for an operating system andinstructions for a media player program; an integrated circuit includinga substrate having active circuitry fabricated on the substrate andelectrically coupled with the processor; and at least one layer ofnon-volatile two-terminal cross-point memory electrically coupled withthe active circuitry, the at least one layer of non-volatiletwo-terminal cross-point memory in contact with and verticallyconfigured above the substrate, and the at least one layer ofnon-volatile two-terminal cross-point memory is randomly accessible anddoes not require an erase operation prior to a write operation, theactive circuitry including an input/output module electrically coupledwith the processor and the at least one layer of non-volatiletwo-terminal cross-point memory, the input/output module configured tocommunicate with an input/output device, and an analog/digital moduleelectrically coupled with the processor and the at least one layer ofnon-volatile two-terminal cross-point memory, the analog/digital moduleconfigured to output a media signal, and wherein a first portion of theat least one layer of non-volatile two-terminal cross-point memory isconfigured as a boot ROM to store the operating system and a secondportion of the at least one layer of non-volatile two-terminalcross-point memory is configured as program memory to store the mediaplayer program.
 2. The media player of claim 1, wherein the firstportion emulates Flash memory.
 3. The media player of claim 2, whereinthe Flash memory comprises NOR-type Flash memory.
 4. The media player ofclaim 1, wherein the second portion emulates Flash memory.
 5. The mediaplayer of claim 4, wherein the Flash memory comprises NAND-type Flashmemory.
 6. The media player of claim 1, wherein the at least one layerof non-volatile two-terminal cross-point memory is configured as atleast one two-terminal cross-point memory array.
 7. The media player ofclaim 6, wherein the at least one two-terminal cross-point memory arrayincludes a plurality of two-terminal non-volatile memory elements. 8.The media player of claim 1, wherein a third portion of the at least onelayer of non-volatile two-terminal cross-point memory is configured asdata storage to store at least one media file.
 9. The media player ofclaim 8, wherein the third portion emulates Flash memory.
 10. The mediaplayer of claim 9, wherein the Flash memory comprises NAND-type Flashmemory.
 11. The media player of claim 8, wherein the third portionemulates a hard disc drive.
 12. The media player of claim 1, wherein theactive circuitry includes the processor.
 13. The media player of claim1, wherein other portions of the at least one layer of non-volatiletwo-terminal cross-point memory are configured to emulate one or morememory types selected from the group consisting of SRAM, DRAM, SDRAM,Flash, and ROM.
 14. The media player of claim 1, wherein data stored inone or more portions of the at least one layer of non-volatiletwo-terminal cross-point memory is dynamically allocated.
 15. The mediaplayer of claim 1, wherein data stored in one or more portions of the atleast one layer of non-volatile two-terminal cross-point memory isphysically assigned.
 16. A computer readable medium including executableprogram instructions for a media player, comprising: a substrateincluding active circuitry fabricated on the substrate; and at least onelayer of non-volatile two-terminal cross-point memory electricallycoupled with the active circuitry, the at least one layer ofnon-volatile two-terminal cross-point memory in contact with andvertically configured above the substrate, and the at least one layer ofnon-volatile two-terminal cross-point memory is randomly accessible anddoes not require an erase operation prior to a write operation, andwherein a first portion of the at least one layer of non-volatiletwo-terminal cross-point memory is configured as a boot ROM to storeexecutable code for an operating system and a second portion of the atleast one layer of non-volatile two-terminal cross-point memory isconfigured as program memory to store executable code for a media playerprogram.
 17. The computer readable medium of claim 16, wherein a thirdportion of the at least one layer of non-volatile two-terminalcross-point memory is configured as memory to store executable code forat least one media file.
 18. The computer readable medium of claim 16,wherein the active circuitry includes a processor that is electricallycoupled with the active circuitry and is configure to execute theexecutable code for the operating system and the media player program.19. The computer readable medium of claim 18, wherein a third portion ofthe at least one layer of non-volatile two-terminal cross-point memoryis configured as memory to store executable code for at least one mediafile and the processor is configure to execute the executable code forthe at least one media file.
 20. The computer readable medium of claim16, wherein the at least one layer of non-volatile two-terminalcross-point memory is configured as at least one two-terminalcross-point memory array that includes a plurality of two-terminalnon-volatile memory elements.
 21. The computer readable medium of claim16 and further comprising: an integrated circuit including the substrateand the at least one layer of non-volatile two-terminal cross-pointmemory.
 22. The computer readable medium of claim 21, wherein the activecircuitry includes a processor that is electrically coupled with theactive circuitry and is configure to execute the executable code for theoperating system and the media player program.